package com.pm.business.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.pm.common.annotation.Excel;
import com.pm.common.core.domain.BaseEntity;

/**
 * 基本信息对象 bid_project
 * 
 * @author zxl
 * @date 2022-05-05
 */
public class BidProject extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目ID */
    private Long projectId;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNumber;

    /** 区域 */
    @Excel(name = "区域")
    private String region;

    /** 招标形式 */
    @Excel(name = "招标形式")
    private String bidForm;

    /** 工程名称 */
    @Excel(name = "工程名称")
    private String projectName;

    /** 工程面积（平方米） */
    @Excel(name = "工程面积(平方米)" ,scale=2)
    private BigDecimal projectArea;

    /** 工程地址 */
    @Excel(name = "工程地址")
    private String address;

    /** 工程造价（万元） */
    @Excel(name = "工程造价(万元)")
    private BigDecimal projectCost;

    /** 预计投标时间（年-月-日） */
    @Excel(name = "预计投标时间", dateFormat = "yyyy-MM-dd")
    private Date estimatedBidTime;

    /** 建设单位 */
    @Excel(name = "建设单位")
    private String constructionUnit;

    /** 申办人姓名 */
    @Excel(name = "申办人姓名")
    private String sponsorName;

    /** 申报人联系电话 */
    @Excel(name = "申报人联系电话")
    private String sponsorPhone;

    /** 申办时间（年-月-日） */
    @Excel(name = "申办时间", dateFormat = "yyyy-MM-dd")
    private Date sponsorTime;

    private Date sponsorStartTime;

    private Date sponsorEndTime;

    private String sponsorTimeStr;

    /** 是否缴纳保证金（1需缴纳、2无需缴纳） */
    @Excel(name = "是否缴纳保证金", readConverterExp = "Y=需缴纳,N=无需缴纳")
    private String paymentDepsit;

    /** 保证金缴纳金额（元） */
    @Excel(name = "保证金缴纳金额(元)")
    private Long depsitMoney;

    /** 保证金缴纳时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保证金缴纳时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentDepsitTime;

    /** 保证金缴纳方式 */
    @Excel(name = "保证金缴纳方式")
    private String depsitType;

    /** 是否需要现场收据 */
    @Excel(name = "是否需要现场收据", readConverterExp = "Y=是,N=否")
    private String depsitReceipt;

    /** 业务跟踪人 */
    @Excel(name = "业务跟踪人")
    private String tracker;

    @Excel(name = "当前进度")
    private String currentStepStr;

    private Long auditor;
    private Long tempAuditor;

    @Excel(name = "审核员")
    private String auditorName;

    private String stepStatus;

    /** 状态 */
    private String bidProjectStatus;

    private List<BidProjectProcess>processList;

    /** 项目登记人 */
    private String creator;
    private String tempCreator;

    private String bidStatus;
    private Integer currentBidStep;
    private Long workflowId;
    private List<TypePersonDTO> typePersonList;
    /** 项目与人员关联信息 */
    private List<BidProjectPresonMap> bidProjectPresonMapList;

    private List<ProjectPerson>projectPersonList;
    private List<BidProjectPoint>bidProjectPointList;

    public Date getSponsorStartTime() {
        return sponsorStartTime;
    }

    public void setSponsorStartTime(Date sponsorStartTime) {
        this.sponsorStartTime = sponsorStartTime;
    }

    public Date getSponsorEndTime() {
        return sponsorEndTime;
    }

    public void setSponsorEndTime(Date sponsorEndTime) {
        this.sponsorEndTime = sponsorEndTime;
    }

    public String getSponsorTimeStr() {
        return sponsorTimeStr;
    }

    public void setSponsorTimeStr(String sponsorTimeStr) {
        this.sponsorTimeStr = sponsorTimeStr;
    }

    public Long getTempAuditor() {
        return tempAuditor;
    }

    public void setTempAuditor(Long tempAuditor) {
        this.tempAuditor = tempAuditor;
    }

    public String getTempCreator() {
        return tempCreator;
    }

    public void setTempCreator(String tempCreator) {
        this.tempCreator = tempCreator;
    }

    public void setProjectId(Long projectId)
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }
    public void setProjectNumber(String projectNumber) 
    {
        this.projectNumber = projectNumber;
    }

    public String getProjectNumber() 
    {
        return projectNumber;
    }
    public void setRegion(String region) 
    {
        this.region = region;
    }

    public String getRegion() 
    {
        return region;
    }
    public void setBidForm(String bidForm) 
    {
        this.bidForm = bidForm;
    }

    public String getBidForm() 
    {
        return bidForm;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setProjectArea(BigDecimal projectArea) 
    {
        this.projectArea = projectArea;
    }

    public BigDecimal getProjectArea() 
    {
        return projectArea;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setProjectCost(BigDecimal projectCost) 
    {
        this.projectCost = projectCost;
    }

    public BigDecimal getProjectCost() 
    {
        return projectCost;
    }
    public void setEstimatedBidTime(Date estimatedBidTime) 
    {
        this.estimatedBidTime = estimatedBidTime;
    }

    public Date getEstimatedBidTime() 
    {
        return estimatedBidTime;
    }
    public void setConstructionUnit(String constructionUnit) 
    {
        this.constructionUnit = constructionUnit;
    }

    public String getConstructionUnit() 
    {
        return constructionUnit;
    }
    public void setSponsorName(String sponsorName) 
    {
        this.sponsorName = sponsorName;
    }

    public String getSponsorName() 
    {
        return sponsorName;
    }
    public void setSponsorPhone(String sponsorPhone) 
    {
        this.sponsorPhone = sponsorPhone;
    }

    public String getSponsorPhone() 
    {
        return sponsorPhone;
    }
    public void setSponsorTime(Date sponsorTime) 
    {
        this.sponsorTime = sponsorTime;
    }

    public Date getSponsorTime() 
    {
        return sponsorTime;
    }
    public void setPaymentDepsit(String paymentDepsit) 
    {
        this.paymentDepsit = paymentDepsit;
    }

    public String getPaymentDepsit() 
    {
        return paymentDepsit;
    }
    public void setDepsitMoney(Long depsitMoney) 
    {
        this.depsitMoney = depsitMoney;
    }

    public Long getDepsitMoney() 
    {
        return depsitMoney;
    }
    public void setPaymentDepsitTime(Date paymentDepsitTime) 
    {
        this.paymentDepsitTime = paymentDepsitTime;
    }

    public Date getPaymentDepsitTime() 
    {
        return paymentDepsitTime;
    }
    public void setDepsitType(String depsitType) 
    {
        this.depsitType = depsitType;
    }

    public String getDepsitType() 
    {
        return depsitType;
    }
    public void setDepsitReceipt(String depsitReceipt) 
    {
        this.depsitReceipt = depsitReceipt;
    }

    public String getDepsitReceipt() 
    {
        return depsitReceipt;
    }
    public void setTracker(String tracker) 
    {
        this.tracker = tracker;
    }

    public String getTracker() 
    {
        return tracker;
    }
    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }

    public List<BidProjectPresonMap> getBidProjectPresonMapList()
    {
        return bidProjectPresonMapList;
    }

    public void setBidProjectPresonMapList(List<BidProjectPresonMap> bidProjectPresonMapList)
    {
        this.bidProjectPresonMapList = bidProjectPresonMapList;
    }

    public List<ProjectPerson> getProjectPersonList() {
        return projectPersonList;
    }

    public void setProjectPersonList(List<ProjectPerson> projectPersonList) {
        this.projectPersonList = projectPersonList;
    }

    public List<BidProjectPoint> getBidProjectPointList() {
        return bidProjectPointList;
    }

    public void setBidProjectPointList(List<BidProjectPoint> bidProjectPointList) {
        this.bidProjectPointList = bidProjectPointList;
    }

    public String getBidStatus() {
        return bidStatus;
    }

    public void setBidStatus(String bidStatus) {
        this.bidStatus = bidStatus;
    }

    public Integer getCurrentBidStep() {
        return currentBidStep;
    }

    public void setCurrentBidStep(Integer currentBidStep) {
        this.currentBidStep = currentBidStep;
    }

    public Long getWorkflowId() {
        return workflowId;
    }

    public void setWorkflowId(Long workflowId) {
        this.workflowId = workflowId;
    }

    public String getCurrentStepStr() {
        return currentStepStr;
    }

    public void setCurrentStepStr(String currentStepStr) {
        this.currentStepStr = currentStepStr;
    }

    public List<TypePersonDTO> getTypePersonList() {
        return typePersonList;
    }

    public void setTypePersonList(List<TypePersonDTO> typePersonList) {
        this.typePersonList = typePersonList;
    }

    public List<BidProjectProcess> getProcessList() {
        return processList;
    }

    public void setProcessList(List<BidProjectProcess> processList) {
        this.processList = processList;
    }

    public Long getAuditor() {
        return auditor;
    }

    public void setAuditor(Long auditor) {
        this.auditor = auditor;
    }

    public String getAuditorName() {
        return auditorName;
    }

    public void setAuditorName(String auditorName) {
        this.auditorName = auditorName;
    }

    public String getStepStatus() {
        return stepStatus;
    }

    public void setStepStatus(String stepStatus) {
        this.stepStatus = stepStatus;
    }

    public String getbidProjectStatus() { return bidProjectStatus; }
    public void setbidProjectStatus(String bidProjectStatus)
    {
        this.bidProjectStatus = bidProjectStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("projectId", getProjectId())
            .append("projectNumber", getProjectNumber())
            .append("region", getRegion())
            .append("bidForm", getBidForm())
            .append("projectName", getProjectName())
            .append("projectArea", getProjectArea())
            .append("address", getAddress())
            .append("projectCost", getProjectCost())
            .append("estimatedBidTime", getEstimatedBidTime())
            .append("constructionUnit", getConstructionUnit())
            .append("sponsorName", getSponsorName())
            .append("sponsorPhone", getSponsorPhone())
            .append("sponsorTime", getSponsorTime())
            .append("paymentDepsit", getPaymentDepsit())
            .append("depsitMoney", getDepsitMoney())
            .append("paymentDepsitTime", getPaymentDepsitTime())
            .append("depsitType", getDepsitType())
            .append("depsitReceipt", getDepsitReceipt())
            .append("tracker", getTracker())
            .append("creator", getCreator())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("bidProjectStatus", getbidProjectStatus())
            .append("bidProjectPresonMapList", getBidProjectPresonMapList())
            .toString();
    }
}
